// File: dao/NovelDao.h
#pragma once
#include <QObject>
#include <QSqlQuery>
#include <QVariant>
#include <QDebug>
#include <QSqlError> // 包含 QSqlError 头文件
#include "../entity/novelinfo.h"

class NovelDao : public QObject {
    Q_OBJECT
public:
    explicit NovelDao(QObject *parent = nullptr);

    //根据id列表，查询数量
    Q_INVOKABLE int queryCount(const QList<QString> &idList);
    
    //新增小说
    Q_INVOKABLE bool insert(NovelInfo *novel);

    //删除小说
    bool deleteNovel(const QString & novelId);

    //更新小说
    Q_INVOKABLE bool update(NovelInfo *novel);

    //通过id获取小说
    NovelInfo* getNovelById(const QString & novelId);

    //查询所有
    Q_INVOKABLE QList<QObject*> findAll();

};
